package com.leet.code.simple_array;

import java.util.HashMap;
import java.util.Map;

/**
 * @description:    1512.好数对的数目
 * @author: WYG
 * @time: 2021/1/5 17:34
 */

public class NumIdenticalPairs {
    //时间更快
    public int fast_numIdenticalPairs(int[] nums) {
        int res = 0;
        int[] temp = new int[100];
        for (int i = 0; i < nums.length; i++) {
            res += (temp[nums[i] - 1]++);
        }
        return res;
    }

    //占用的空间更少
    public int few_numIdenticalPairs(int[] nums) {
        int res = 0;
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        for (int i = 0; i < nums.length; i++) {
            res += map.getOrDefault(nums[i], 0);
            map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
        }
        return res;
    }

    public int numIdenticalPairs(int[] nums) {
        int res = 0;
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                if (nums[i] == nums[j]) {
                    res++;
                }
            }
        }
        return res;
    }

}
